package IO;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.Reader;

public class 字符流练习1 {
    public static void main(String[] args) {
//metho1();
method2();
    }
      //创建一个用于测试高效字符输入流的方法
    public static void method2(){
        //定义一个在本方法中都生效的局部变量,注意初始化null
        Reader in=null;
        try {//1.2创建字符输入流对象,注意需要辅助异常
            //2使用流对象
            //需求:循环读取文件中的所有内容,只要不是 -1,就说明还有数据,继续读取
            //3定义变量记录读取代的数据
            in=new BufferedReader(new FileReader("F:\\a\\1.txt"));
            int b;
            while ((b=in.read())!=-1){
                System.out.println(b);
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {
                in.close();//关闭流
            }catch (Exception e){
                e.printStackTrace();
            }
        }


    }

    //创建一个用于测试普通字符输入流的方法
    private static void metho1(){
        //1.1创建一个在本方法中都生效的局部变量,注意初始化值null
        Reader in=null;
        try{
            //1.2创建字符输入流对象,注意需要辅助异常
            //Reader in=new Reader();//报错原因:抽象父级不可实列话
           // in=new FileReader(new File("F:\\a\\1.txt");
            in=new FileReader("F:\\a\\1.txt");
            //2.使用流对象
//            System.out.println(in.read());
            //需求:循环读取文件 中的所欲内容,只要不是-1,就说明还有数据,继续读取
            //3.1定义变量,记录读取到的数据
            int b;
            while ((b=in.read())!=-1){
                System.out.println(b);
            }
        }catch (Exception e){
        e.printStackTrace();
        }finally{//关流操作
            try{
                in.close();
            }catch (Exception e){//IOException
                e.printStackTrace();
            }

        }


    }
}
